C 언어 자기참조구조체.c
// 자기참조구조체 : 나 자신을 참조하는 구조체
#include <stdio.h>
struct ArrayList
{
char Name[25]; // 이름
struct ArrayList *Next; // 나를 참조
};
void main(void) {
// 시작포인터 생성
struct ArrayList *p; // 시작 포인터
// 데이터 저장
struct ArrayList al1 = {"홍길동"};
struct ArrayList al2 = {"백두산"};
struct ArrayList al3 = {"임꺽정"};
// 연결
al1.Next = &al2; // 2번째 ArrayList형 변수의 시작주소
al2.Next = &al3;
al3.Next = NULL; // 구조체 종결(\0);
p = &al1; // 시작포인터에 홍길동 리스트 연결
// 탐색1
printf("%s\n", p->Name); // 홍길동
p = p->Next; // 다음 주소로 이동
printf("%s\n", p->Name); // 백두산
p = p->Next; // 다음 주소로 이동
printf("%s\n", p->Name); // 임꺽정
p = p->Next; // NULL
printf("%s\n", p->Name);
// 탐색2
p = &al1; // 시작점 재설정
while (p != NULL) {
printf("%s \n", p->Name); // 이름출력
p = p->Next; // 다음주소기입
}
}
Comments
Comments are closed